#! /usr/bin/env python
# -*- coding:utf-8 -*-
# @Time : 2020-03-27 19:51
# @Author : youngchaolin


# 1 请用代码验证name是否在字典的键中
info = {'name': 'clyang', 'age': 28, 'salary': 8848, 'hobby': 'football'}
# 以下两种方法都可以
# print('name' in info)
print('name' in info.keys())

# 2 循环提示用户不断输入，将输入的内容添加到一个列表中，当输入E时退出循环
li = []
while 1:
    content = input('>>>')
    if content.upper() == 'E': break
    li.append(content)

# 打印
print(li)

# 3 循环提示用户不断输入用户名和密码，将输入的内容变成字典添加到一个列表中，当输入E时退出循环
li = []
while 1:
    username = input('请输入用户名')
    if username.upper() == 'E': break
    password = input('请输入密码')
    dic = {}
    dic['username'] = username
    dic['password'] = password
    li.append(dic)
print(li)

# 4 查看代码并读出结果
v1 = {'k1': 'v1', 'k2': [1, 2, 3]}
v2 = {'k1': 'v1', 'k2': [1, 2, 3]}
result1 = v1 == v2
result2 = v1 is v2
print(result1) # True 比较值是否相等
print(result2) # False 比较内存地址是否相等


# 5 查看代码读出结果
# 变量指向的是真实的数据，当v1重新赋值ronald，原来v2指向的真实数据还是没变，改的只是v1指向的地址
v1='messi'
v2=[1,2,3,v1]
v1='ronald'
print(v2) # [1, 2, 3, 'messi']

# 6 巨坑题
li=[]
dic={}
for i in range(10):
    dic['user']=i
    li.append(dic)

print(li) # [{'user': 9}, {'user': 9}, {'user': 9}, {'user': 9}, {'user': 9}, {'user': 9}, {'user': 9}, {'user': 9}, {'user': 9}, {'user': 9}]
# li中的dic，指向的是同一个内存地址中的字典数据，每次循环改变的只是字典里的value，li里的dic都指向它，因此li最后这个结果

# 7 敲7游戏，从1开始到n，每次遇到7或者7的倍数，就哐一下，将它添加到列表中，其他的数字正常添加
n=input('请输入敲7游戏要到的数字')
n=int(n)

li=[]
for i in range(1,n+1):
    if i%7==0:li.append('哐')
    else:li.append(i)
print(li)